GskGLRenderer: Share programs between different renderers in same display
authorAlexander Larsson <alexl@redhat.com>
Tue, 11 Feb 2020 15:56:24 +0000 (16:56 +0100)
committerAlexander Larsson <alexl@redhat.com>
Tue, 11 Feb 2020 15:58:45 +0000 (16:58 +0100)
commit7b0b3d95475940dfd46111aae1aeeb97702d9fe8
treec07d8d0cdbb675ea84bdee07d2ae7abe0072d612
parentaf98c46d04d86e192349d20711d36dbb1de9bc9d
GskGLRenderer: Share programs between different renderers in same display

This is similar to how we share texture atlases. Some added complexity
in that the program state also needed to be shared, so it had to move to
the shared Programs object.

With this change realization of additional GskRenderers when opening
popups went from ~60msec to ~35 msec on average.
gsk/gl/gskglrenderer.c
gsk/gl/gskglrenderops.c
gsk/gl/gskglrenderopsprivate.h